# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: 'Default Castlevania: Dawn of Sorrow Template'

game: 'Castlevania: Dawn of Sorrow'
requires:
  version: 0.6.7 # Version of Archipelago required for this yaml to work as expected.
  game:
    'Castlevania: Dawn of Sorrow': 2.0.4 # Version of the world required for this yaml to work as expected.

'Castlevania: Dawn of Sorrow':
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  death_link:
    # When you die, everyone who enabled death link dies. Of course, the reverse is true too.
    'false': 50
    'true': 0

  ################
  # Goal Options #
  ################
  goal:
    # The goal for your game.
    # Throne Room: Get to the Throne Room and defeat Menace there.
    # Abyss: Open the path to the Mine of Judgment, then defeat Menace in the Abyss.
    throne_room: 50
    abyss: 0

  menace_condition:
    # This Condition is required to be met before you can fight Menace.
    # None: None
    # Throne Room: Defeat Aguni in the Throne Room (If Goal is set to throne room, this will be set to None.)
    # Garden: Avoid the bad ending in the Garden of Madness
    # Bosses: Defeat all available bosses
    none: 50
    throne_room: 0
    garden: 0
    bosses: 0

  mine_condition:
    # This Condition is required to be met before you can enter the Mine of Judgment.
    # None: None
    # Throne Room: Defeat Aguni in the Throne Room (If Goal is set to throne room, the mine and the Abyss will be inaccessible.)
    # Garden: Avoid the bad ending in the Garden of Madness
    # Bosses: Defeat all available bosses
    none: 0
    throne_room: 0
    garden: 50
    bosses: 0

  garden_condition:
    # This Condition is required to be met before Celia appears in the Garden of Madness.
    # None: None
    # Throne Room: Defeat Aguni in the Throne Room (This condition is considered unreachable if Goal is set to throne room)
    # Bosses: Defeat all available bosses
    none: 50
    throne_room: 0
    bosses: 0

  replace_menace_with_soma:
    # Replaces Menace with Soma-Dracula
    'false': 50
    'true': 0

  #################
  # Soul Settings #
  #################
  soul_randomizer:
    # Randomizes Enemy souls.
    # Disabled: Enemy souls are unchanged.
    # Shuffled: Enemy souls will be shuffled amongst each other. Souls that unlock things are unchanged.
    # Soulsanity: Enemy soul drops can be anything, even important items or non-souls. You can change the expected soul rarity with Soulsanity level.
    disabled: 50
    shuffled: 0
    soulsanity: 0

  soulsanity_level:
    # The maximum tier of soul rarity that have Locations on them.
    # Rare souls always expect you to have the Soul Eater Ring.
    simple: 50
    medium: 0
    rare: 0

  guaranteed_souls:
    # The specified Souls will be guaranteed to have at least one copy in the item pool. Unspecified souls can still be randomly selected from the soul pool.
    # You can also use Common, Uncommon, or Rare to add all souls of that rarity.
    ['Procel Soul', 'Mud Demon Soul', 'Black Panther Soul']

  soul_drop_percentage:
    # Percentage applied to an enemy's base chance of dropping their soul.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 50
    # Maximum value is 500
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-50-500: 0 # random value between 50 and 500
    half: 0 # equivalent to 50
    normal: 50 # equivalent to 100
    double: 0 # equivalent to 200
    triple: 0 # equivalent to 300

  ################
  # Item Options #
  ################
  starting_weapon:
    # The weapon you start the game with.
    # Random Base: Start with a random base-level weapon
    # Random Any: Start with any random weapon
    # You can also choose to start with any specific weapon.
    random_base: 0
    random_any: 0
    Knife: 50

  shop_randomizer:
    # Randomizes Hammer's shop items.
    'false': 50
    'true': 0

  gate_items:
    # Defines how the 4 metal switch gates act.
    # Normal: Normal behavior. Gates can only be opened by pressing the respective button.
    # Add Keys: The same as normal behavior, but also adds keys to the item pool that can open the gate from the other side.
    # Buttonsanity: Adds keys to each gate, and the corresponding button will grant a check.
    normal: 50
    add_keys: 0
    buttonsanity: 0

  #################
  # Seal Settings #
  #################
  disable_boss_seals:
    # Removes the requirement to draw Magic Seals to defeat bosses.
    'false': 50
    'true': 0

  early_seal_1:
    # Places Magic Seal 1 early in your own game to prevent getting stuck early.
    'false': 50
    'true': 0

  seal_shuffle:
    # Randomizes which seal is required for each boss/door.
    # Early Seal 1 will guarantee Flying Armor to always use Seal 1.
    'false': 50
    'true': 0

  randomize_seal_patterns:
    # Randomizes the drawn pattern for Magic Seals, as well as their rotation.
    'false': 50
    'true': 0

  #########################
  # Weapon Synth Settings #
  #########################
  randomize_synthesis_souls:
    # Randomizes which souls are required for Synthesis crafting.
    'false': 50
    'true': 0

  ##################
  # World Settings #
  ##################
  shuffle_starting_warp_room:
    # Randomizes which Warp Room is unlocked by default.
    'false': 50
    'true': 0

  open_drawbridge:
    # If enabled, the drawbridge in Lost Village will start open instead of closed.
    'false': 50
    'true': 0

  randomize_red_soul_walls:
    # Randomizes which souls are needed to break the red Soul Barriers.
    'false': 50
    'true': 0

  ##################
  # Enemy Settings #
  ##################
  shuffle_enemy_drops:
    # Randomizes items dropped by enemies
    'false': 50
    'true': 0

  experience_percentage:
    # What percentage of EXP enemies give you. This is a percent of their original EXP amount.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 50
    # Maximum value is 500
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-50-500: 0 # random value between 50 and 500
    half: 0 # equivalent to 50
    normal: 50 # equivalent to 100
    double: 0 # equivalent to 200
    quadruple: 0 # equivalent to 400

  hard_mode:
    # Puts the game in Hard Mode. Enemies are tougher, sometimes have additional properties, but drop rates are increased.
    # There are no checks exclusive to Hard Mode.
    'false': 50
    'true': 0

  boss_shuffle:
    # Randomizes boss fights.
    'false': 50
    'true': 0

  ###################
  # Quality of Life #
  ###################
  remove_money_gates:
    # Removes the gates that require you to own a specific amount of money.
    'false': 0
    'true': 50

  reveal_map:
    # Start with the entire map visible.
    'false': 0
    'true': 50

  reveal_hidden_walls:
    # Automatically destroys/reveals all breakable walls
    'false': 50
    'true': 0

  fix_luck:
    # Fixes how the Luck stat is applied.
    # With the fix applied, each point of luck gives +0.1% to any drop.
    # Without the fix, each point of luck is +0.04% for souls, 0.25% for items.
    'false': 0
    'true': 50

  boost_speed:
    # Increases Soma's base walking speed by 33%
    'false': 50
    'true': 0

  one_screen_mode:
    # Allows the entire game to be played with only the bottom screen. Press Select to view the map.
    'false': 50
    'true': 0

  no_mp_bat:
    # Removes Bat Company's MP cost
    'false': 50
    'true': 0

  passive_soul_eater_ring:
    # If enabled, you will gain the bonus from the Soul Eater Ring without needing to equip it
    # as long as you have at least one in your inventory.
    'false': 50
    'true': 0

  ####################
  # Music Randomizer #
  ####################
  area_music_randomizer:
    # Randomizes area music.
    'false': 50
    'true': 0

  boss_music_randomizer:
    # Randomizes boss music.
    'false': 50
    'true': 0

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_inventory_from_pool:
    # Start with the specified amount of these items and don't place them in the world. Example: "Bomb: 1"
    # 
    # The game decides what the replacement items will be.
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
